/**
 * @program: PavtFirmware
 * @description:
 * @author: zyc
 * @create: 2018-06-15 17:55
 **/
package com.zjpavt.client.extenddevice;

import com.zjpavt.client.enums.ExtendDeviceEnum;
import com.zjpavt.client.extenddevice.helpbean.UnderDeviceInteractionBean;

/**
 * 拓展通道上的设备具备所在通道号和设备类型两个方法。
 * @author zyc
 */
public interface IExtendDevice extends Comparable<IExtendDevice> {
    /**
     * 返回设备所在的拓展口
     * @return 返回所在的拓展通道
     */
    int getExtendNum();
    /**
     * 返回拓展设备的设备名称
     * @return 返回设备类型
     */
    ExtendDeviceEnum getDeviceType();

    /**
     * 发现该设备的时间
     * @return 发现的时间戳
     */
    long getFindTime();

    /**
     * 移除该设备/当设备被移除的时候回收资源
     */
    void disConnected();

    /**
     * 重新确认设备是否存在
     */
    void reCheck();

    /**
     * 获取下位机通信状态统计类
     * @return
     */
    UnderDeviceInteractionBean getUnderDeviceInteractionBean();
}
